/*
 * Permite visualizar una página web desde dentro de una actividad en android.
 * Además guarda mediante preferencias la última url visitada.
 */
package com.planesnet.html2android;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

/**
 * WebKit Activity, visualiza una página web dentro de una actividad en 
 * Android.
 * @author "Luis Planes"
 *
 */
public class WebkitActivity extends Activity {
	WebView mWebView;
	
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webkit);

        // Obtener el componente para visualizar la páginal.
        mWebView = (WebView) findViewById(R.id.webview);
        
        // Inicializar el modo de funcionamiento.
        mWebView.getSettings().setJavaScriptEnabled(true);
        
        // Detectar si se ha introducido el HTTP://
        // 12345678
        // https://
        // http://
        
        String url = getUrl();
        if(!url.contains("http")) {
        	url = "http://" + url;
        }
        
        mWebView.loadUrl(url);
        mWebView.setWebViewClient(new HelloWebViewClient());
    }
    
    
    /**
     * Controlar las teclas que se pulsan y procesar la vuelta atrás.
     */
    @Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
            mWebView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    
    
    // Impedir que las núevas paǵinas se salga de la aplicación en android
    // y se ejecuten direcamente en el navegador.
    private class HelloWebViewClient extends WebViewClient {	
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
    
    // Obtener la última url utilizada.
    private String getUrl() {
    	SharedPreferences settings = getSharedPreferences(Constants.PREFERENCIAS, 0);
		return settings.getString("direccion", "http://www.google.es");

	}
}